The goal of search is to find the most relevant information. Popular search engines such as Yahoo!, Google, and MSN, have relied on traditional horizontal approach to searching. Horizontal search engines are usually characterized by a lack of a hierarchal structure. Horizontal search engines rely on search crawlers that typically index almost everything over the Internet or a network. The results they produce span a very broad range of categories. However, users frequently desire search results from a narrower range of categories.
Since search queries tend to be short, one technique requires the search query to be more complex. Some search systems allow users to input complex logic queries in order to get better results. This approach is undesirable because the required search format in such systems is no longer intuitive. Some users would therefore not take the time to learn to use a system and avoid it altogether. Once a user is familiar with the particular search format, even more time and effort is required to craft a proper search statement.
In order to narrow searches while still allowing initial search queries to remain simple, a knowledge-based search engine suggests additional search terms to add to the initial search query. The knowledge-based search engine asks the user for keywords related to the initial query, and the user is required to submit the additional keywords at query time. The process of determining related keywords is difficult and time-consuming for the user. Thus, there is a need for an approach that is more efficient for the user performing a knowledge based search.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.